#ifndef BVCAMERA_H_
#define BVCAMERA_H_

#include <D3DX10math.h>

class BvCamera
{
    D3DXMATRIX m_viewMatrix;
    D3DXVECTOR3 m_position;
    D3DXVECTOR3 m_lookAt;
    D3DXVECTOR3 m_rotation;
    D3DXVECTOR3 m_up;
public:
    BvCamera();
    BvCamera(const D3DXVECTOR3& position, const D3DXVECTOR3& lookAt,
        const D3DXVECTOR3& up = D3DXVECTOR3(0.0f, 1.0f, 0.0f));
    ~BvCamera();

    void setPosition(float x, float y, float z);
    void setPosition(const D3DXVECTOR3& vec3);
    void lookAt(float x, float y, float z);
    void lookAt(const D3DXVECTOR3& vec3);

    const D3DXVECTOR3& GetPosition() const;
    const D3DXMATRIX& GetViewMatrix() const;
};

#endif //BVCAMERA_H_